package kiosk;

/**
 * Importeringer
 */
import java.io.Serializable;
import java.util.ArrayList;

/**
 * Klasse: Salg
 * @author  RK
 * @version 1.0
 * -------------------------
 * Sist endret: 22 Mars 2010
 */
public class Salg implements Serializable {

    private int             salgID;
    private int             selgerID;
    private double          totalSum;
    private double          inntjent;
    private String          salgDato;
    private ProduktListe    produktListe;

    public Salg(int salgID, double tSum, double it, String sDato, ProduktListe prod)
    {
        this.salgID         = salgID;
        this.totalSum       = tSum;
        this.inntjent       = it;
        this.salgDato       = sDato;
        this.produktListe   = prod;
    }

    public int getSalgID()
    {
        return this.salgID;
    }

    public void setSalgID(int id)
    {
        this.salgID = id;
    }

    public int getSelgerID()
    {
        return this.selgerID;
    }

    public double getTotalSum()
    {
        return this.totalSum;
    }

    public double getInntjent()
    {
        return this.inntjent;
    }

    public String getSalgDato()
    {
        return this.salgDato;
    }

    public void setProduktListe(ProduktListe prod)
    {
        this.produktListe = prod;
    }

/**
 * -----------------------------------------------------------------------
 * Produktkurv-relaterte metoder
 * -----------------------------------------------------------------------
 */

    /**
     * addProdukt
     * ------------------------------------------
     * Legg til produkt i kurv
     *
     * @param p
     */
    public void addProdukt(String pNavn, String strk, double iPris, double dPris, double cPris, int aTotalt)
    {
        this.produktListe.addProdukt(pNavn, strk, iPris, dPris, cPris, aTotalt);
    }

    /**
     * slettProdukt
     * -----------------------------------------
     * Slett produkt fra kurv
     *
     * @param strekkode
     */
    public void slettProdukt(String strekkode)
    {
        this.produktListe.slettProdukt(strekkode);
    }

    /**
     * tømProduktListe
     * ----------------------------------------
     * Tøm kurv
     */
    public void tømProduktListe()
    {
        this.produktListe.tømArkiv();
    }

    /**
     * getKurv
     * ---------------------------------------
     * Hent alle produkter i kurven
     *
     * @return
     */
    public ProduktListe getKurv()
    {
        return this.produktListe;
    }

    public int getAntallProdukter()
    {
        int antall = 0;
        ArrayList<Produkt> prod = this.produktListe.getProdukter();
        for (int i = 0; i < this.produktListe.getAntallProdukter(); i++)
        {
            Produkt p = prod.get(i);
            antall += p.getAntallIKurv();
        }
        return antall;
    }

    public int totalSum()
    {
        int pris = 0;
        ArrayList<Produkt> prod = this.produktListe.getProdukter();
        for (int i = 0; i < this.produktListe.getAntallProdukter(); i++)
        {
            Produkt p = prod.get(i);
            pris += (p.getDeltagerPris() * p.getAntallIKurv());
            return pris;
        }
        return 0;
    }
}
